package com.jianguozh.difs.support.service.base.service;

import com.jianguozh.difs.framework.constant.enums.ClientEnum;
import com.jianguozh.difs.support.service.component.prototypeparam.PrototypeParam;
import com.jianguozh.difs.support.service.base.entity.Param;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jianguozh.difs.support.service.base.vo.GroupVo;
import com.jianguozh.difs.support.service.base.vo.ParamVo;

import java.util.Set;

/**
 * <p>
 * 参数配置 服务类
 * </p>
 *
 * @author hanrs
 * @since 2022-03-17
 */
public interface IParamService extends IService<Param> {

    /**
     * 获取参数
     *
     * @param paramKey
     * @param actAtOrgId
     * @return
     */
    Param getByKey(String paramKey, String actAtOrgId);

    /**
     * 获取参数vo
     *
     * @param paramKey
     * @param actOrgId
     * @return
     */
    ParamVo getVoByKey(String paramKey, String actOrgId);

    /**
     * 获取原型参数
     *
     * @param paramKey
     * @return
     */
    PrototypeParam getPrototypeByKey(String paramKey);

    /**
     * 获取参数组集合vo
     *
     * @param clientEnum
     * @param actOrgId
     * @return
     */
    Set<GroupVo> getGroupVos(ClientEnum clientEnum, String actOrgId);

    /**
     * 获取参数组vo
     *
     * @param groupKey
     * @param actOrgId
     * @return
     */
    GroupVo getGroupVo(String groupKey, String actOrgId);
}
